//6-1 使用继承，实现“剪刀石头布的游戏”
/*
小时候很喜欢玩一个游戏，“剪刀石头布”，可以是出拳的形式，或跳格子的形式。现在我们用计算机来玩这个游戏。
电脑用随机数产生剪刀石头布，游戏玩家用输入1，2，3的方式出拳。
游戏玩家输入1或2或3，分别 代表剪刀(1)石头(2)布(3)。
电脑胜出时，显示"Winner is computerPlayer."
游戏玩家胜出时，显示“Winner is personPlayer.”
平局时显示"A Draw."
 */

/*
函数接口定义：
根据主方法内容，实现三个类的定义，分别是是ComputerPlayer、PersonPlayer、Game类。
其中ComputerPlayer、PersonPlayer要继承Player类。
根据主方法中的用法，实现Game类。
 */

import java.util.Scanner;
class Player{
    String name;
    Player(String name){
        this.name = name;
    }
    int show() {  //出拳方法
        int show = ( int ) (Math.random() * 10 ) %3  +1;
        return show ;
    }
}
/* 请在这里填写答案 */
class ComputerPlayer extends Player{
    public ComputerPlayer(String name){
        super(name);
    }

}

class PersonPlayer extends  Player{
    public PersonPlayer(String name){
        super(name);
    }

    public int choice(){
        Scanner sc =new Scanner(System.in);
        int show =sc.nextInt();
        return show;
    }
}

class Game{
    public ComputerPlayer cc;
    public PersonPlayer pp;
    public Game(ComputerPlayer cc,PersonPlayer pp){
        this.pp= pp;
        this.cc= cc;
    }
    public void start(){
        int c=cc.show();
        int p=pp.choice();
        if(c==p)
            System.out.println("A Draw.");
        else if(c==1&&p==3)
            System.out.println("Winner is personPlayer.");
        else if(c==3&&p==1)
            System.out.println("Winner is personPlayer.");
        else if(p<c)
            System.out.println("Winner is computerPlayer.");
        else
            System.out.println("Winner is personPlayer.");
    }

}
public class J_PTAexperience4_1 {

    public static void main(String[] args) {
        ComputerPlayer c = new ComputerPlayer ("computer");
        PersonPlayer  p = new PersonPlayer("player ") ;
        Game g = new Game( c ,p );
        g.start();
    }

}